package cn.cai.controller;


import cn.cai.commonUtils.Result;
import cn.cai.pojo.EduSubject;
import cn.cai.pojo.vo.SubjectOneData;
import cn.cai.service.IEduSubjectService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 课程科目 前端控制器
 * </p>
 *
 * @author caishenao
 * @since 2021-08-16
 */
@RestController
@RequestMapping("/eduservice/subject")
@Api(value="课程controller",tags="课程分类操作接口")
@CrossOrigin
public class EduSubjectController {
    //自动注入service层服务
    @Autowired
    private IEduSubjectService subjectService;

    /**
     * 实现接收用户上传excel文件，读取文件内容，将内容保存进数据库
     * @param file 上传的excel文件
     * @return 返回是否保存的信息
     */
    @PostMapping("/addSubject")
    @ApiOperation(value = "通过上传excel文件，添加课程")
    public Result addSubject(@ApiParam(value = "excel文件",name = "file",required = true) MultipartFile file){
        subjectService.addSubject(file);
        return Result.success().data("msg","导入课程成功");
    }

    /**
     * 查询课程信息，以树形结构返回查询到的数据
     * @return 查询到的树形结构的数据
     */
    @GetMapping("/listTree")
    @ApiOperation("以树形结构查询课程分类信息")
    public Result listTree(){
        List<SubjectOneData> listTree = subjectService.getListTree();
        return Result.success().data("tree",listTree);
    }

}
